home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tex / inputs / amsppt.sty < prev    next >
Encoding:
Text File  |  1991-08-29  |  42.0 KB  |  1,099 lines

  1. %% This is file `amsppt.sty' generated from `amsppt.doc'
  2. %% on 1-JUL-1991 by the docstrip.ams utility (1.0). 
  3. %% 
  4. %% @texfile{
  5. %%     filename="amsppt.sty",
  6. %%     version="2.1",
  7. %%     date="1-JUL-1991",
  8. %%     filetype="AMS-TeX: documentstyle",
  9. %%     copyright="Copyright (C) American Mathematical Society,
  10. %%            all rights reserved.  Copying of this file is
  11. %%            authorized only if either:
  12. %%            (1) you make absolutely no changes to your copy
  13. %%                including name; OR
  14. %%            (2) if you do make changes, you first rename it to some
  15. %%                other name.",
  16. %%     author="American Mathematical Society",
  17. %%     address="American Mathematical Society,
  18. %%            Technical Support Group,
  19. %%            P. O. Box 6248,
  20. %%            Providence, RI 02940,
  21. %%            USA",
  22. %%     telephone="401-455-4080 or (in the USA) 800-321-4AMS",
  23. %%     email="Internet: Tech-Support@Math.AMS.com",
  24. %%     codetable="ISO/ASCII",
  25. %%     checksumtype="line count",
  26. %%     checksum="1098",
  27. %%     keywords="amstex, ams-tex, tex",
  28. %%     abstract="This file is a documentstyle for use with
  29. %%       AMS-TeX 2.1. It exists in two forms: amsppt.doc, which
  30. %%       is the full form containing all technical documentation,
  31. %%       and amsppt.sty, which is identical except that all lines
  32. %%       beginning with a single percent sign are removed, to
  33. %%       make the file more rapid-loading when processed by
  34. %%       TeX."
  35. %%     }
  36. \immediate\write16{AMSPPT.STY - Version 2.1}%
  37. \expandafter\ifx\csname amsppt.sty\endcsname\relax
  38. \else \message{[already loaded]}\endinput \fi
  39. \def\styname{AMSPPT} \def\styversion{2.1}
  40. \expandafter\edef\csname amsppt.sty\endcsname{%
  41.    \catcode`\noexpand\@\the\catcode`\@\space
  42.    \expandafter\let\csname amsppt.sty\endcsname\empty}
  43. \catcode`\@=11
  44. \message{Loading utility definitions,}
  45. \def\identity@#1{#1}
  46. \def\nofrills@@#1{%
  47.  \DN@{#1}%
  48.  \ifx\next\nofrills \let\frills@\eat@
  49.    \expandafter\expandafter\expandafter\next@\expandafter\eat@
  50.   \else \let\frills@\identity@\expandafter\next@\fi}
  51. \def\nofrillscheck#1{\def\nofrills@{\nofrills@@{#1}}%
  52.   \futurelet\next\nofrills@}
  53. \Invalid@\usualspace
  54. \def\addto#1#2{\csname \expandafter\eat@\string#1@\endcsname
  55.   \expandafter{\the\csname \expandafter\eat@\string#1@\endcsname#2}}
  56. \newdimen\bigsize@
  57. \def\big@#1#2{{\hbox{$\left#2\vcenter to#1\bigsize@{}%
  58.   \right.\nulldelimiterspace\z@\m@th$}}}
  59. \def\big{\big@\@ne}
  60. \def\Big{\big@{1.5}}
  61. \def\bigg{\big@\tw@}
  62. \def\Bigg{\big@{2.5}}
  63. \def\raggedcenter@{\leftskip\z@ plus.4\hsize \rightskip\leftskip
  64.  \parfillskip\z@ \parindent\z@ \spaceskip.3333em \xspaceskip.5em
  65.  \pretolerance9999\tolerance9999 \exhyphenpenalty\@M
  66.  \hyphenpenalty\@M \let\\\linebreak}
  67. \def\uppercasetext@#1{%
  68.    {\spaceskip1.3\fontdimen2\the\font plus1.3\fontdimen3\the\font
  69.     \def\ss{SS}\let\i=I\let\j=J\let\ae\AE\let\oe\OE
  70.     \let\o\O\let\aa\AA\let\l\L
  71.     \skipmath@#1$\skipmath@$}}
  72. \def\skipmath@#1$#2${\uppercase{#1}%
  73.   \ifx\skipmath@#2\else$#2$\expandafter\skipmath@\fi}
  74. \def\add@missing#1{\expandafter\ifx\envir@end#1%
  75.   \Err@{You seem to have a missing or misspelled
  76.   \expandafter\string\envir@end ...}%
  77.   \envir@end
  78. \fi}
  79. \newtoks\revert@
  80. \def\envir@stack#1{\toks@\expandafter{\envir@end}%
  81.   \edef\next@{\def\noexpand\envir@end{\the\toks@}%
  82.     \revert@{\the\revert@}}%
  83.   \revert@\expandafter{\next@}%
  84.   \def\envir@end{#1}}
  85. \begingroup
  86. \catcode`\ =11
  87. \gdef\revert@envir#1{\expandafter\ifx\envir@end#1%
  88. \the\revert@%
  89. \else\ifx\envir@end\enddocument \Err@{Extra \string#1}%
  90. \else\expandafter\add@missing\envir@end\revert@envir#1%
  91. \fi\fi}
  92. \xdef\enddocument {\string\enddocument}%
  93. \global\let\envir@end\enddocument %%%%%% don't remove the final space!
  94. \endgroup\relax
  95. \def\first@#1#2\end{#1}
  96. \def\true@{TT}
  97. \def\false@{TF}
  98. \begingroup  \catcode`\-=3
  99. \long\gdef\notempty#1{%
  100.   \expandafter\ifx\first@#1-\end-\empty \false@\else \true@\fi}
  101. \endgroup
  102. \message{more fonts,}
  103. \font@\tensmc=cmcsc10
  104. \font@\sevenex=cmex7
  105. %% non-AMSfonts substitute for previous line:
  106. %%\font@\sevenex=cmex10 at 7pt
  107. \font@\sevenit=cmti7
  108. \font@\eightrm=cmr8 % preloaded in plain.tex
  109. \font@\sixrm=cmr6 % preloaded in plain.tex
  110. \font@\eighti=cmmi8     \skewchar\eighti='177 % preloaded
  111. \font@\sixi=cmmi6       \skewchar\sixi='177   % preloaded
  112. \font@\eightsy=cmsy8    \skewchar\eightsy='60 % preloaded
  113. \font@\sixsy=cmsy6      \skewchar\sixsy='60   % preloaded
  114. \font@\eightex=cmex8
  115. %% non-AMSfonts substitute for previous line:
  116. %%\font@\eightex=cmex10 at 8pt
  117. \font@\eightbf=cmbx8 % preloaded in plain.tex
  118. \font@\sixbf=cmbx6   % preloaded in plain.tex
  119. \font@\eightit=cmti8 % preloaded in plain.tex
  120. \font@\eightsl=cmsl8 % preloaded in plain.tex
  121. \font@\eightsmc=cmcsc8
  122. %% non-AMSfonts substitute for previous line:
  123. %%\font@\eightsmc=cmcsc10 at 8pt
  124. \font@\eighttt=cmtt8 % preloaded in plain.tex
  125. %% Nine-point fonts are not needed but are included here, commented
  126. %% out, to make it easier for a user to add them if they are needed.
  127. %%\font@\ninerm=cmr9
  128. %%\font@\ninei=cmmi9    \skewchar\ninei='177
  129. %%\font@\ninesy=cmsy9   \skewchar\ninesy='60
  130. %%\font@\nineex=cmex9
  131. %%%%\font@\nineex=cmex10 at9pt % non-AMSfonts substitute
  132. %%\font@\ninebf=cmbx9
  133. %%\font@\nineit=cmti9
  134. %%\font@\ninesl=cmsl9
  135. %%\font@\ninesmc=cmcsc9
  136. %%
  137. %%\font@\ninemsa=msam9
  138. %%\font@\ninemsb=msbm9
  139. %%\font@\nineeufm=eufm9
  140. %%     To use amsppt.sty without AMSFonts, comment out the following
  141. %%     two lines (and refer to the lines above that begin with double
  142. %%     percent signs); to load extra math symbols only on demand (with
  143. %%     \newsymbol) comment out the second line.
  144. \loadeufm
  145. \message{symbol names}\UseAMSsymbols\message{,}
  146. \newtoks\tenpoint@
  147. \def\tenpoint{\normalbaselineskip12\p@
  148.  \abovedisplayskip12\p@ plus3\p@ minus9\p@
  149.  \belowdisplayskip\abovedisplayskip
  150.  \abovedisplayshortskip\z@ plus3\p@
  151.  \belowdisplayshortskip7\p@ plus3\p@ minus4\p@
  152.  \textonlyfont@\rm\tenrm \textonlyfont@\it\tenit
  153.  \textonlyfont@\sl\tensl \textonlyfont@\bf\tenbf
  154.  \textonlyfont@\smc\tensmc \textonlyfont@\tt\tentt
  155.  \ifsyntax@ \def\big##1{{\hbox{$\left##1\right.$}}}%
  156.   \let\Big\big \let\bigg\big \let\Bigg\big
  157.  \else
  158.    \textfont\z@\tenrm  \scriptfont\z@\sevenrm
  159.        \scriptscriptfont\z@\fiverm
  160.    \textfont\@ne\teni  \scriptfont\@ne\seveni
  161.        \scriptscriptfont\@ne\fivei
  162.    \textfont\tw@\tensy \scriptfont\tw@\sevensy
  163.        \scriptscriptfont\tw@\fivesy
  164.    \textfont\thr@@\tenex \scriptfont\thr@@\sevenex
  165.         \scriptscriptfont\thr@@\sevenex
  166.    \textfont\itfam\tenit \scriptfont\itfam\sevenit
  167.         \scriptscriptfont\itfam\sevenit
  168.    \textfont\bffam\tenbf \scriptfont\bffam\sevenbf
  169.         \scriptscriptfont\bffam\fivebf
  170.    \setbox\strutbox\hbox{\vrule height8.5\p@ depth3.5\p@ width\z@}%
  171.    \setbox\strutbox@\hbox{\lower.5\normallineskiplimit\vbox{%
  172.         \kern-\normallineskiplimit\copy\strutbox}}%
  173.    \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@
  174.   \fi
  175.   \normalbaselines\rm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@
  176.   \the\tenpoint@}
  177. \newtoks\eightpoint@
  178. \def\eightpoint{\normalbaselineskip10\p@
  179.  \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@
  180.  \belowdisplayskip\abovedisplayskip
  181.  \abovedisplayshortskip\z@ plus2.4\p@
  182.  \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@
  183.  \textonlyfont@\rm\eightrm \textonlyfont@\it\eightit
  184.  \textonlyfont@\sl\eightsl \textonlyfont@\bf\eightbf
  185.  \textonlyfont@\smc\eightsmc \textonlyfont@\tt\eighttt
  186.  \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}%
  187.   \let\Big\big \let\bigg\big \let\Bigg\big
  188.  \else
  189.   \textfont\z@\eightrm \scriptfont\z@\sixrm
  190.        \scriptscriptfont\z@\fiverm
  191.   \textfont\@ne\eighti \scriptfont\@ne\sixi
  192.        \scriptscriptfont\@ne\fivei
  193.   \textfont\tw@\eightsy \scriptfont\tw@\sixsy
  194.        \scriptscriptfont\tw@\fivesy
  195.   \textfont\thr@@\eightex \scriptfont\thr@@\sevenex
  196.    \scriptscriptfont\thr@@\sevenex
  197.   \textfont\itfam\eightit \scriptfont\itfam\sevenit
  198.    \scriptscriptfont\itfam\sevenit
  199.   \textfont\bffam\eightbf \scriptfont\bffam\sixbf
  200.    \scriptscriptfont\bffam\fivebf
  201.  \setbox\strutbox\hbox{\vrule height7\p@ depth3\p@ width\z@}%
  202.  \setbox\strutbox@\hbox{\raise.5\normallineskiplimit\vbox{%
  203.    \kern-\normallineskiplimit\copy\strutbox}}%
  204.  \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@
  205.  \fi
  206.  \normalbaselines\eightrm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@
  207.  \the\eightpoint@}
  208. \message{page dimension settings,}
  209. \parindent1pc
  210. \newdimen\normalparindent \normalparindent\parindent
  211. \normallineskiplimit\p@
  212. \newdimen\indenti \indenti=2pc
  213. \def\pageheight#1{\vsize#1\relax}
  214. \def\pagewidth#1{\hsize#1%
  215.    \captionwidth@\hsize \advance\captionwidth@-2\indenti}
  216. \pagewidth{30pc} \pageheight{47pc}
  217. \message{top matter,}
  218. \def\topmatter{%
  219.  \ifx\undefined\msafam
  220.  \else\font@\eightmsa=msam8 \font@\sixmsa=msam6
  221.    \ifsyntax@\else \addto\tenpoint{\textfont\msafam\tenmsa
  222.       \scriptfont\msafam\sevenmsa \scriptscriptfont\msafam\fivemsa}%
  223.      \addto\eightpoint{\textfont\msafam\eightmsa
  224.        \scriptfont\msafam\sixmsa \scriptscriptfont\msafam\fivemsa}%
  225.    \fi
  226.  \fi
  227.  \ifx\undefined\msbfam
  228.  \else\font@\eightmsb=msbm8 \font@\sixmsb=msbm6
  229.    \ifsyntax@\else \addto\tenpoint{\textfont\msbfam\tenmsb
  230.        \scriptfont\msbfam\sevenmsb \scriptscriptfont\msbfam\fivemsb}%
  231.      \addto\eightpoint{\textfont\msbfam\eightmsb
  232.        \scriptfont\msbfam\sixmsb \scriptscriptfont\msbfam\fivemsb}%
  233.    \fi
  234.  \fi
  235.  \ifx\undefined\eufmfam
  236.  \else \font@\eighteufm=eufm8 \font@\sixeufm=eufm6
  237.    \ifsyntax@\else \addto\tenpoint{\textfont\eufmfam\teneufm
  238.        \scriptfont\eufmfam\seveneufm
  239.        \scriptscriptfont\eufmfam\fiveeufm}%
  240.      \addto\eightpoint{\textfont\eufmfam\eighteufm
  241.        \scriptfont\eufmfam\sixeufm
  242.        \scriptscriptfont\eufmfam\fiveeufm}%
  243.    \fi
  244.  \fi
  245.  \ifx\undefined\eufbfam
  246.  \else \font@\eighteufb=eufb8 \font@\sixeufb=eufb6
  247.    \ifsyntax@\else \addto\tenpoint{\textfont\eufbfam\teneufb
  248.       \scriptfont\eufbfam\seveneufb
  249.        \scriptscriptfont\eufbfam\fiveeufb}%
  250.     \addto\eightpoint{\textfont\eufbfam\eighteufb
  251.       \scriptfont\eufbfam\sixeufb
  252.        \scriptscriptfont\eufbfam\fiveeufb}%
  253.    \fi
  254.  \fi
  255.  \ifx\undefined\eusmfam
  256.  \else \font@\eighteusm=eusm8 \font@\sixeusm=eusm6
  257.    \ifsyntax@\else \addto\tenpoint{\textfont\eusmfam\teneusm
  258.        \scriptfont\eusmfam\seveneusm
  259.        \scriptscriptfont\eusmfam\fiveeusm}%
  260.      \addto\eightpoint{\textfont\eusmfam\eighteusm
  261.        \scriptfont\eusmfam\sixeusm
  262.        \scriptscriptfont\eusmfam\fiveeusm}%
  263.    \fi
  264.  \fi
  265.  \ifx\undefined\eusbfam
  266.  \else \font@\eighteusb=eusb8 \font@\sixeusb=eusb6
  267.    \ifsyntax@\else \addto\tenpoint{\textfont\eusbfam\teneusb
  268.        \scriptfont\eusbfam\seveneusb
  269.        \scriptscriptfont\eusbfam\fiveeusb}%
  270.      \addto\eightpoint{\textfont\eusbfam\eighteusb
  271.        \scriptfont\eusbfam\sixeusb
  272.        \scriptscriptfont\eusbfam\fiveeusb}%
  273.    \fi
  274.  \fi
  275.  \ifx\undefined\eurmfam
  276.  \else \font@\eighteurm=eurm8 \font@\sixeurm=eurm6
  277.    \ifsyntax@\else \addto\tenpoint{\textfont\eurmfam\teneurm
  278.        \scriptfont\eurmfam\seveneurm
  279.        \scriptscriptfont\eurmfam\fiveeurm}%
  280.      \addto\eightpoint{\textfont\eurmfam\eighteurm
  281.        \scriptfont\eurmfam\sixeurm
  282.        \scriptscriptfont\eurmfam\fiveeurm}%
  283.    \fi
  284.  \fi
  285.  \ifx\undefined\eurbfam
  286.  \else \font@\eighteurb=eurb8 \font@\sixeurb=eurb6
  287.    \ifsyntax@\else \addto\tenpoint{\textfont\eurbfam\teneurb
  288.        \scriptfont\eurbfam\seveneurb
  289.        \scriptscriptfont\eurbfam\fiveeurb}%
  290.     \addto\eightpoint{\textfont\eurbfam\eighteurb
  291.        \scriptfont\eurbfam\sixeurb
  292.        \scriptscriptfont\eurbfam\fiveeurb}%
  293.    \fi
  294.  \fi
  295.  \ifx\undefined\cmmibfam
  296.  \else \font@\eightcmmib=cmmib8 \font@\sixcmmib=cmmib6
  297.    \ifsyntax@\else \addto\tenpoint{\textfont\cmmibfam\tencmmib
  298.        \scriptfont\cmmibfam\sevencmmib
  299.        \scriptscriptfont\cmmibfam\fivecmmib}%
  300.     \addto\eightpoint{\textfont\cmmibfam\eightcmmib
  301.        \scriptfont\cmmibfam\sixcmmib
  302.        \scriptscriptfont\cmmibfam\fivecmmib}%
  303.    \fi
  304.  \fi
  305.  \ifx\undefined\cmbsyfam
  306.  \else \font@\eightcmbsy=cmbsy8 \font@\sixcmbsy=cmbsy6
  307.    \ifsyntax@\else \addto\tenpoint{\textfont\cmbsyfam\tencmbsy
  308.       \scriptfont\cmbsyfam\sevencmbsy
  309.        \scriptscriptfont\cmbsyfam\fivecmbsy}%
  310.     \addto\eightpoint{\textfont\cmbsyfam\eightcmbsy
  311.       \scriptfont\cmbsyfam\sixcmbsy
  312.        \scriptscriptfont\cmbsyfam\fivecmbsy}%
  313.    \fi
  314.  \fi
  315.  \let\topmatter\relax}
  316. \def\chapterno@{\uppercase\expandafter{\romannumeral\chaptercount@}}
  317. \newcount\chaptercount@
  318. \def\chapter{\let\savedef@\chapter
  319.   \def\chapter##1{\let\chapter\savedef@
  320.   \leavevmode\hskip-\leftskip
  321.    \rlap{\vbox to\z@{\vss\centerline{\eightpoint
  322.    \frills@{CHAPTER\space\afterassignment\chapterno@
  323.        \global\chaptercount@=}%
  324.    ##1\unskip}\baselineskip2pc\null}}\hskip\leftskip}%
  325.  \nofrillscheck\chapter}
  326. \newbox\titlebox@
  327. \def\title{\let\savedef@\title
  328.  \def\title##1\endtitle{\let\title\savedef@
  329.    \global\setbox\titlebox@\vtop{\tenpoint\bf
  330.    \raggedcenter@
  331.    \baselineskip1.3\baselineskip
  332.    \frills@\uppercasetext@{##1}\endgraf}%
  333.  \ifmonograph@ \edef\next{\the\leftheadtoks}%
  334.     \ifx\next\empty
  335.     \leftheadtext{##1}\fi
  336.  \fi
  337.  \edef\next{\the\rightheadtoks}\ifx\next\empty \rightheadtext{##1}\fi
  338.  }%
  339.  \nofrillscheck\title}
  340. \newbox\authorbox@
  341. \def\author#1\endauthor{\global\setbox\authorbox@
  342.  \vbox{\tenpoint\smc\raggedcenter@
  343.  #1\endgraf}\relaxnext@ \edef\next{\the\leftheadtoks}%
  344.  \ifx\next\empty\leftheadtext{#1}\fi}
  345. \newbox\affilbox@
  346. \def\affil#1\endaffil{\global\setbox\affilbox@
  347.  \vbox{\tenpoint\raggedcenter@#1\endgraf}}
  348. \newcount\addresscount@
  349. \addresscount@\z@
  350. \def\address#1\endaddress{\global\advance\addresscount@\@ne
  351.   \expandafter\gdef\csname address\number\addresscount@\endcsname
  352.   {\nobreak\vskip12\p@ minus6\p@\indent\eightpoint\smc#1\par}}
  353. \def\curraddr{\let\savedef@\curraddr
  354.   \def\curraddr##1\endcurraddr{\let\curraddr\savedef@
  355.   \toks@\expandafter\expandafter\expandafter{%
  356.        \csname address\number\addresscount@\endcsname}%
  357.   \toks@@{##1}%
  358.   \expandafter\xdef\csname address\number\addresscount@\endcsname
  359.   {\the\toks@\endgraf\noexpand\nobreak
  360.     \indent{\noexpand\rm
  361.     \frills@{{\noexpand\it Current address\noexpand\/}:\space}%
  362.     \def\noexpand\usualspace{\space}\the\toks@@\unskip}}}%
  363.   \nofrillscheck\curraddr}
  364. \def\email{\let\savedef@\email
  365.   \def\email##1\endemail{\let\email\savedef@
  366.   \toks@{\def\usualspace{{\it\enspace}}\endgraf\indent\eightpoint}%
  367.   \toks@@{##1\par}%
  368.   \expandafter\xdef\csname email\number\addresscount@\endcsname
  369.   {\the\toks@\frills@{{\noexpand\it E-mail address\noexpand\/}:%
  370.      \noexpand\enspace}\the\toks@@}}%
  371.   \nofrillscheck\email}
  372. \def\thedate@{}
  373. \def\date#1\enddate{\gdef\thedate@{\tenpoint#1\unskip}}
  374. \def\thethanks@{}
  375. \def\thanks#1\endthanks{%
  376.   \ifx\thethanks@\empty \gdef\thethanks@{\eightpoint#1}%
  377.   \else
  378.     \expandafter\gdef\expandafter\thethanks@\expandafter{%
  379.      \thethanks@\endgraf#1}%
  380.   \fi}
  381. \def\thekeywords@{}
  382. \def\keywords{\let\savedef@\keywords
  383.   \def\keywords##1\endkeywords{\let\keywords\savedef@
  384.   \toks@{\def\usualspace{{\it\enspace}}\eightpoint}%
  385.   \toks@@{##1\unskip.}%
  386.   \edef\thekeywords@{\the\toks@\frills@{{\noexpand\it
  387.     Key words and phrases.\noexpand\enspace}}\the\toks@@}}%
  388.  \nofrillscheck\keywords}
  389. \def\thesubjclass@{}
  390. \def\subjclass{\let\savedef@\subjclass
  391.  \def\subjclass##1\endsubjclass{\let\subjclass\savedef@
  392.    \toks@{\def\usualspace{{\rm\enspace}}\eightpoint}%
  393.    \toks@@{##1\unskip.}%
  394.    \edef\thesubjclass@{\the\toks@
  395.      \frills@{{\noexpand\rm1991 {\noexpand\it Mathematics Subject
  396.        Classification}.\noexpand\enspace}}%
  397.      \the\toks@@}}%
  398.   \nofrillscheck\subjclass}
  399. \newbox\abstractbox@
  400. \def\abstract{\let\savedef@\abstract
  401.  \def\abstract{\let\abstract\savedef@
  402.   \setbox\abstractbox@\vbox\bgroup\noindent$$\vbox\bgroup
  403.   \def\envir@end{\endabstract}\advance\hsize-2\indenti
  404.   \def\usualspace{\enspace}\eightpoint \noindent
  405.   \frills@{{\smc Abstract.\enspace}}}%
  406.  \nofrillscheck\abstract}
  407. \def\endabstract{\par\unskip\egroup$$\egroup}
  408. \def\widestnumber{\begingroup \let\head\relax\let\subhead\relax
  409.   \let\subsubhead\relax \expandafter\endgroup\setwidest@}
  410. \def\setwidest@#1#2{%
  411.    \ifx#1\head\setbox\tocheadbox@\hbox{#2.\enspace}%
  412.    \else\ifx#1\subhead\setbox\tocsubheadbox@\hbox{#2.\enspace}%
  413.    \else\ifx#1\subsubhead\setbox\tocsubheadbox@\hbox{#2.\enspace}%
  414.    \else\ifx#1\key\refstyle A%
  415.        \setbox\keybox@\hbox{\refsfont@\keyformat{#2}}%
  416.        \refindentwd\wd\keybox@
  417.    \else\ifx#1\no\refstyle C%
  418.        \setbox\keybox@\hbox{\refsfont@\keyformat{#2}}%
  419.        \refindentwd\wd\keybox@
  420.    \else\ifx#1\page\setbox\pagesbox@\hbox{\quad\bf#2}%
  421.    \else\ifx#1\item
  422.        \edef\next@{\the\revert@\rosteritemwd\the\rosteritemwd\relax
  423.               \revert@{\the\revert@}}%
  424.        \revert@\expandafter{\next@}%
  425.        \setboxz@h{(#2)}\rosteritemwd\wdz@
  426.    \else\message{\string\widestnumber\space not defined for this
  427.       option (\string#1)}%
  428. \fi\fi\fi\fi\fi\fi\fi}
  429. \newif\ifmonograph@
  430. \def\Monograph{\monograph@true \let\headmark\rightheadtext
  431.   \let\varindent@\indent \def\headfont@{\bf}\def\proclaimfont@{\smc}%
  432.   \def\demofont@{\smc}}
  433. \let\varindent@\noindent
  434. \newbox\tocheadbox@    \newbox\tocsubheadbox@
  435. \newbox\tocbox@
  436. \def\toc{\toc@{Contents}}
  437. \def\newtocdefs{%
  438.    \def \title##1\endtitle
  439.        {\penaltyandskip@\z@\smallskipamount
  440.         \hangindent\wd\tocheadbox@\noindent{\bf##1}}%
  441.    \def \chapter##1{%
  442.         Chapter \uppercase\expandafter{%
  443.               \romannumeral##1.\unskip}\enspace}%
  444.    \def \specialhead##1\endspecialhead
  445.        {\par\hangindent\wd\tocheadbox@ \noindent##1\par}%
  446.    \def \head##1 ##2\endhead
  447.        {\par\hangindent\wd\tocheadbox@ \noindent
  448.         \if\notempty{##1}\hbox to\wd\tocheadbox@{\hfil##1\enspace}\fi
  449.         ##2\par}%
  450.    \def \subhead##1 ##2\endsubhead
  451.        {\par\vskip-\parskip {\normalbaselines
  452.         \advance\leftskip\wd\tocheadbox@
  453.         \hangindent\wd\tocsubheadbox@ \noindent
  454.         \if\notempty{##1}%
  455.               \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  456.          ##2\par}}%
  457.    \def \subsubhead##1 ##2\endsubsubhead
  458.        {\par\vskip-\parskip {\normalbaselines
  459.         \advance\leftskip\wd\tocheadbox@
  460.         \hangindent\wd\tocsubheadbox@ \noindent
  461.         \if\notempty{##1}%
  462.               \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  463.         ##2\par}}}
  464. \def\toc@#1{\relaxnext@
  465.    \def\page##1%
  466.        {\unskip\penalty0\null\hfil
  467.         \rlap{\hbox to\wd\pagesbox@{\quad\hfil##1}}%
  468.               \hfilneg\penalty\@M}%
  469.  \DN@{\ifx\next\nofrills\DN@\nofrills{\nextii@}%
  470.       \else\DN@{\nextii@{{#1}}}\fi
  471.       \next@}%
  472.  \DNii@##1{%
  473. \ifmonograph@\bgroup\else\setbox\tocbox@\vbox\bgroup
  474.    \centerline{\headfont@\ignorespaces##1\unskip}\nobreak
  475.    \vskip\belowheadskip \fi
  476.    \setbox\tocheadbox@\hbox{0.\enspace}%
  477.    \setbox\tocsubheadbox@\hbox{0.0.\enspace}%
  478.    \leftskip\indenti \rightskip\leftskip
  479.    \setbox\pagesbox@\hbox{\bf\quad000}\advance\rightskip\wd\pagesbox@
  480.    \newtocdefs
  481.  }%
  482.  \FN@\next@}
  483. \def\endtoc{\par\egroup}
  484. \let\pretitle\relax
  485. \let\preauthor\relax
  486. \let\preaffil\relax
  487. \let\predate\relax
  488. \let\preabstract\relax
  489. \let\prepaper\relax
  490. \def\dedicatory #1\enddedicatory{\def\preabstract{{\medskip
  491.   \eightpoint\it \raggedcenter@#1\endgraf}}}
  492. \def\thetranslator@{}
  493. \def\translator{%
  494.   \let\savedef@\translator
  495.   \def\translator##1\endtranslator{\let\translator\savedef@
  496.     \edef\thetranslator@{\noexpand\nobreak\noexpand\medskip
  497.       \noexpand\line{\noexpand\eightpoint\hfil
  498.       \frills@{Translated by \uppercase}{##1}\qquad\qquad}%
  499.        \noexpand\nobreak}}%
  500.   \nofrillscheck\translator}
  501. \outer\def\endtopmatter{\add@missing\endabstract
  502.  \edef\next{\the\leftheadtoks}\ifx\next\empty
  503.   \expandafter\leftheadtext\expandafter{\the\rightheadtoks}\fi
  504.  \ifmonograph@\else
  505.    \ifx\thesubjclass@\empty\else \makefootnote@{}{\thesubjclass@}\fi
  506.    \ifx\thekeywords@\empty\else \makefootnote@{}{\thekeywords@}\fi
  507.    \ifx\thethanks@\empty\else \makefootnote@{}{\thethanks@}\fi
  508.  \fi
  509.   \pretitle
  510.   \begingroup % to localize variant topskip
  511.   \ifmonograph@ \topskip7pc \else \topskip4pc \fi
  512.   \box\titlebox@
  513.   \endgroup
  514.   \preauthor
  515.   \ifvoid\authorbox@\else \vskip2.5pcplus1pc\unvbox\authorbox@\fi
  516.   \preaffil
  517.   \ifvoid\affilbox@\else \vskip1pcplus.5pc\unvbox\affilbox@\fi
  518.   \predate
  519.   \ifx\thedate@\empty\else
  520.        \vskip1pcplus.5pc\line{\hfil\thedate@\hfil}\fi
  521.   \preabstract
  522.   \ifvoid\abstractbox@\else
  523.        \vskip1.5pcplus.5pc\unvbox\abstractbox@ \fi
  524.   \ifvoid\tocbox@\else\vskip1.5pcplus.5pc\unvbox\tocbox@\fi
  525.   \prepaper
  526.   \vskip2pcplus1pc\relax
  527. }
  528. \def\document{\let\fontlist@\relax\let\alloclist@\relax
  529.   \tenpoint}
  530. \message{section heads,}
  531. \newskip\aboveheadskip       \aboveheadskip\bigskipamount
  532. \newdimen\belowheadskip      \belowheadskip6\p@
  533. \def\headfont@{\smc}
  534. \def\penaltyandskip@#1#2{\par\skip@#2\relax
  535.   \ifdim\lastskip<\skip@\relax\removelastskip
  536.       \ifnum#1=\z@\else\penalty@#1\relax\fi\vskip\skip@
  537.   \else\ifnum#1=\z@\else\penalty@#1\relax\fi\fi}
  538. \def\nobreak{\penalty\@M
  539.   \ifvmode\gdef\penalty@{\global\let\penalty@\penalty\count@@@}%
  540.   \everypar{\global\let\penalty@\penalty\everypar{}}\fi}
  541. \let\penalty@\penalty
  542. \def\heading#1\endheading{\head#1\endhead}
  543. \def\subheading{\DN@{\ifx\next\nofrills
  544.     \expandafter\subheading@
  545.   \else \expandafter\subheading@\expandafter\empty
  546.   \fi}%
  547.   \FN@\next@
  548. }
  549. \def\subheading@#1#2{\subhead#1#2\endsubhead}
  550. \def\specialheadfont@{\bf}
  551. \outer\def\specialhead{%
  552.   \add@missing\endroster \add@missing\enddefinition
  553.   \add@missing\enddemo \add@missing\endexample
  554.   \add@missing\endproclaim
  555.   \penaltyandskip@{-200}\aboveheadskip
  556.   \begingroup\interlinepenalty\@M\rightskip\z@ plus\hsize
  557.   \let\\\linebreak
  558.   \specialheadfont@\noindent}
  559. \def\endspecialhead{\par\endgroup\nobreak\vskip\belowheadskip}
  560. \outer\def\head#1\endhead{%
  561.   \add@missing\endroster \add@missing\enddefinition
  562.   \add@missing\enddemo \add@missing\endexample
  563.   \add@missing\endproclaim
  564.   \penaltyandskip@{-200}\aboveheadskip
  565.   {\headfont@\raggedcenter@\interlinepenalty\@M
  566.   #1\endgraf}\headmark{#1}%
  567.   \nobreak
  568.   \vskip\belowheadskip}
  569. \let\headmark\eat@
  570. \def\restoredef@#1{\relax\let#1\savedef@\let\savedef@\relax}
  571. \newskip\subheadskip       \subheadskip\medskipamount
  572. \def\subheadfont@{\bf}
  573. \outer\def\subhead{%
  574.   \add@missing\endroster \add@missing\enddefinition
  575.   \add@missing\enddemo \add@missing\endexample
  576.   \add@missing\endproclaim
  577.   \let\savedef@\subhead \let\subhead\relax
  578.   \def\subhead##1\endsubhead{\restoredef@\subhead
  579.     \penaltyandskip@{-100}\subheadskip
  580.     \varindent@{\def\usualspace{{\subheadfont@\enspace}}%
  581.     \subheadfont@\ignorespaces##1\unskip\frills@{.\enspace}}%
  582.     \ignorespaces}%
  583.   \nofrillscheck\subhead}
  584. \outer\def\subsubhead{%
  585.   \add@missing\endroster \add@missing\enddefinition
  586.   \add@missing\enddemo
  587.   \add@missing\endexample \add@missing\endproclaim
  588.   \let\savedef@\subsubhead \let\subsubhead\relax
  589.   \def\subsubhead##1\endsubsubhead{\restoredef@\subsubhead
  590.     \penaltyandskip@{-50}\medskipamount
  591.       {\def\usualspace{\/{\it\enspace}}%
  592.     \it##1\unskip\frills@{.\enspace}}}%
  593.   \nofrillscheck\subsubhead}
  594. \message{theorems/proofs/definitions/remarks,}
  595. \def\proclaimheadfont@{\bf}
  596. \outer\def\proclaim{%
  597.   \let\savedef@\proclaim \let\proclaim\relax
  598.   \add@missing\endroster \add@missing\enddefinition
  599.   \add@missing\endproclaim \envir@stack\endproclaim
  600.  \def\proclaim##1{\restoredef@\proclaim
  601.    \penaltyandskip@{-100}\medskipamount\varindent@
  602.    \def\usualspace{{\proclaimheadfont@\enspace}}\proclaimheadfont@
  603.    \ignorespaces##1\unskip\frills@{.\enspace}%
  604.   \sl\ignorespaces}%
  605.  \nofrillscheck\proclaim}
  606. \def\endproclaim{\revert@envir\endproclaim \par\rm
  607.   \penaltyandskip@{55}\medskipamount}
  608. \def\remarkheadfont@{\it}
  609. \def\remark{\let\savedef@\remark \let\remark\relax
  610.   \add@missing\endroster \add@missing\endproclaim
  611.   \envir@stack\endremark
  612.   \def\remark##1{\restoredef@\remark
  613.     \penaltyandskip@\z@\medskipamount
  614.   {\def\usualspace{{\remarkheadfont@\enspace}}%
  615.   \varindent@\remarkheadfont@\ignorespaces##1\unskip%
  616.   \frills@{.\enspace}}\rm
  617.   \ignorespaces}\nofrillscheck\remark}
  618. \def\endremark{\par\revert@envir\endremark}
  619. \ifx\undefined\square
  620.   \def\square{\vrule width.6em height.5em depth.1em\relax}\fi
  621. \def\qed{\ifhmode\unskip\nobreak\fi\quad
  622.   \ifmmode\square\else$\m@th\square$\fi}
  623. \def\demo{\DN@{\ifx\next\nofrills
  624.     \DN@####1####2{\remark####1{####2}\envir@stack\enddemo
  625.       \ignorespaces}%
  626.   \else
  627.     \DN@####1{\remark{####1}\envir@stack\enddemo\ignorespaces}%
  628.   \fi
  629.   \next@}%
  630. \FN@\next@}
  631.  
  632. \def\enddemo{\par\revert@envir\enddemo \endremark\medskip}
  633. \def\definition{\let\savedef@\definition \let\definition\relax
  634.   \add@missing\endproclaim \add@missing\endroster
  635.   \add@missing\enddefinition \envir@stack\enddefinition
  636.    \def\definition##1{\restoredef@\definition
  637.      \penaltyandskip@{-100}\medskipamount
  638.         {\def\usualspace{{\proclaimheadfont@\enspace}}%
  639.         \varindent@\proclaimheadfont@\ignorespaces##1\unskip
  640.         \frills@{.\proclaimheadfont@\enspace}}%
  641.         \rm \ignorespaces}%
  642.   \nofrillscheck\definition}
  643. \def\enddefinition{\revert@envir\enddefinition
  644.   \par\medskip}
  645. \def\example{\DN@{\ifx\next\nofrills
  646.     \DN@####1####2{\definition####1{####2}\envir@stack\endexample
  647.       \ignorespaces}%
  648.   \else
  649.     \DN@####1{\definition{####1}\envir@stack\endexample\ignorespaces}%
  650.   \fi
  651.   \next@}%
  652. \FN@\next@}
  653. \def\endexample{\revert@envir\endexample \enddefinition }
  654. \message{rosters,}
  655. \newdimen\rosteritemwd
  656. \rosteritemwd16pt % approximately the width of (iii) in 10 point text
  657. \newcount\rostercount@
  658. \newif\iffirstitem@
  659. \let\plainitem@\item
  660. \newtoks\everypartoks@
  661. \def\par@{\everypartoks@\expandafter{\the\everypar}\everypar{}}
  662. \def\roster{%
  663.   \envir@stack\endroster
  664.  \edef\leftskip@{\leftskip\the\leftskip}%
  665.  \relaxnext@
  666.  \rostercount@\z@% Initialize \rostercount@ to 0.
  667.  \def\item{\FN@\rosteritem@}%      \item, now redefined, has
  668.  \DN@{\ifx\next\runinitem\let\next@\nextii@\else
  669.   \let\next@\nextiii@\fi\next@}%
  670.  \DNii@\runinitem% If \runinitem occurs, \nextii@ must kill it off.
  671.   {\unskip% This unskips any space before the original \roster.
  672.    \DN@{\ifx\next[\let\next@\nextii@\else
  673.     \ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi\fi\next@}%
  674.    \DNii@[####1]{\rostercount@####1\relax
  675.     \enspace\therosteritem{\number\rostercount@}~\ignorespaces}%
  676.    \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}%
  677.    \def\nextiv@{\enspace\therosteritem1\rostercount@\@ne~}%
  678.    \par@\firstitem@false% Before doing any of this we still change
  679.    \FN@\next@}%      End of definition of \nextii@\runinitem.
  680.  \def\nextiii@{\par\par@% End the present paragraph, change \everypar
  681.   \penalty\@m\smallskip\vskip-\parskip
  682.   \firstitem@true}
  683.  \FN@\next@}
  684. \def\rosteritem@{\iffirstitem@\firstitem@false
  685.   \else\par\vskip-\parskip\fi
  686.  \leftskip\rosteritemwd \advance\leftskip\normalparindent
  687.  \advance\leftskip.5em \noindent
  688.  \DNii@[##1]{\rostercount@##1\relax\itembox@}%
  689.  \def\nextiii@"##1"{\def\therosteritem@{\rm##1}\itembox@}%
  690.  \def\nextiv@{\advance\rostercount@\@ne\itembox@}%
  691.  \def\therosteritem@{\therosteritem{\number\rostercount@}}%
  692.  \ifx\next[\let\next@\nextii@\else\ifx\next"\let\next@\nextiii@\else
  693.   \let\next@\nextiv@\fi\fi\next@}
  694. \def\itembox@{\llap{\hbox to\rosteritemwd{\hss
  695.   \kern\z@ % kern to thwart \unskip in \rom
  696.   \therosteritem@}\enspace}\ignorespaces}
  697. \def\therosteritem#1{\rom{(\ignorespaces#1\unskip)}}
  698. \newif\ifnextRunin@
  699. \def\endroster{\relaxnext@
  700.  \revert@envir\endroster % restore \envir@end
  701.  \par\leftskip@% End the paragraph, and restore the \leftskip.
  702.  \global\rosteritemwd16\p@ % restore default value
  703.  \penalty-50 \vskip-\parskip\smallskip% Add a good break and
  704.  \DN@{\ifx\next\Runinitem\let\next@\relax
  705.   \else\nextRunin@false\let\item\plainitem@% Otherwise, set
  706.    \ifx\next\par% moreover, if \endroster is followed by \par,
  707.     \DN@\par{\everypar\expandafter{\the\everypartoks@}}%
  708.    \else% but if the \endroster isn't followed by a new paragraph,
  709.     \DN@{\noindent\everypar\expandafter{\the\everypartoks@}}%
  710.   \fi\fi\next@}%
  711.  \FN@\next@}
  712. \newcount\rosterhangafter@
  713. \def\Runinitem#1\roster\runinitem{\relaxnext@
  714.  \rostercount@\z@
  715.  \def\item{\FN@\rosteritem@}%
  716.  \def\runinitem@{#1}%
  717.  \DN@{\ifx\next[\let\next\nextii@\else\ifx\next"\let\next\nextiii@
  718.   \else\let\next\nextiv@\fi\fi\next}%
  719.  \DNii@[##1]{\rostercount@##1\relax
  720.   \def\item@{\therosteritem{\number\rostercount@}}\nextv@}%
  721.  \def\nextiii@"##1"{\def\item@{{\rm##1}}\nextv@}%
  722.  \def\nextiv@{\advance\rostercount@\@ne
  723.   \def\item@{\therosteritem{\number\rostercount@}}\nextv@}%
  724.  \def\nextv@{\setbox\z@\vbox
  725.   {\ifnextRunin@\noindent\fi
  726.   \runinitem@\unskip\enspace\item@~\par
  727.   \global\rosterhangafter@\prevgraf}%
  728.   \firstitem@false% Set \firstitem@false for future \item's.
  729.   \ifnextRunin@\else\par\fi
  730.   \hangafter\rosterhangafter@\hangindent3\normalparindent
  731.   \ifnextRunin@\noindent\fi
  732.   \runinitem@\unskip\enspace%  Put in all the stored stuff
  733.   \item@~\ifnextRunin@\else\par@\fi% and the \item@, and
  734.   \nextRunin@true\ignorespaces}%% Here's where we set \nextRunin@true.
  735.  \FN@\next@}
  736. \message{footnotes,}
  737. \def\footmarkform@#1{$\m@th^{#1}$}
  738. \let\thefootnotemark\footmarkform@
  739. \def\makefootnote@#1#2{\insert\footins
  740.  {\interlinepenalty\interfootnotelinepenalty
  741.  \eightpoint\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
  742.  \floatingpenalty\@MM\leftskip\z@\rightskip\z@
  743.  \spaceskip\z@\xspaceskip\z@
  744.  \leavevmode{#1}\footstrut\ignorespaces#2\unskip\lower\dp\strutbox
  745.  \vbox to\dp\strutbox{}}}
  746. \newcount\footmarkcount@
  747. \footmarkcount@\z@
  748. \def\footnotemark{\let\@sf\empty\relaxnext@
  749.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  750.  \DN@{\ifx[\next\let\next@\nextii@\else
  751.   \ifx"\next\let\next@\nextiii@\else
  752.   \let\next@\nextiv@\fi\fi\next@}%
  753.  \DNii@[##1]{\footmarkform@{##1}\@sf}%
  754.  \def\nextiii@"##1"{{##1}\@sf}%
  755.  \def\nextiv@{\iffirstchoice@\global\advance\footmarkcount@\@ne\fi
  756.   \footmarkform@{\number\footmarkcount@}\@sf}%
  757.  \FN@\next@}
  758. \def\footnotetext{\relaxnext@
  759.  \DN@{\ifx[\next\let\next@\nextii@\else
  760.   \ifx"\next\let\next@\nextiii@\else
  761.   \let\next@\nextiv@\fi\fi\next@}%
  762.  \DNii@[##1]##2{\makefootnote@{\footmarkform@{##1}}{##2}}%
  763.  \def\nextiii@"##1"##2{\makefootnote@{##1}{##2}}%
  764.  \def\nextiv@##1{\makefootnote@{\footmarkform@%
  765.   {\number\footmarkcount@}}{##1}}%
  766.  \FN@\next@}
  767. \def\footnote{\let\@sf\empty\relaxnext@
  768.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  769.  \DN@{\ifx[\next\let\next@\nextii@\else
  770.   \ifx"\next\let\next@\nextiii@\else
  771.   \let\next@\nextiv@\fi\fi\next@}%
  772.  \DNii@[##1]##2{\footnotemark[##1]\footnotetext[##1]{##2}}%
  773.  \def\nextiii@"##1"##2{\footnotemark"##1"\footnotetext"##1"{##2}}%
  774.  \def\nextiv@##1{\footnotemark\footnotetext{##1}}%
  775.  \FN@\next@}
  776. \def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax}
  777. \def\footnoterule{\kern-3\p@
  778.   \hrule width5pc\kern 2.6\p@}%      the \hrule is .4pt high
  779. \message{figures and captions,}
  780. \def\captionfont@{\smc}
  781. \def\topcaption#1#2\endcaption{%
  782.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  783.    \rm\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip
  784.   {\captionfont@#1}%
  785.   \if\notempty{#2}.\enspace\ignorespaces#2\fi
  786.   \endgraf}\nobreak\bigskip}
  787. \def\botcaption#1#2\endcaption{%
  788.   \nobreak\bigskip
  789.   \setboxz@h{\captionfont@#1\if\notempty{#2}.\enspace\rm#2\fi}%
  790.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  791.    \leftskip.5\dimen@ \rightskip\leftskip
  792.    \noindent \ifdim\wdz@>\captionwidth@
  793.    \else\hfil\fi
  794.   {\captionfont@#1}%
  795.   \if\notempty{#2}.\enspace\rm#2\fi\endgraf}}
  796. \def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}%
  797.   \def\captionwidth##1{\captionwidth@##1\relax}%
  798.   \setbox\z@\vbox\bgroup} % start a \vbox
  799. \message{miscellaneous,}
  800. \def\block{\RIfMIfI@\nondmatherr@\block\fi
  801.        \else\ifvmode\vskip\abovedisplayskip\noindent\fi
  802.         $$\def\endblock{\par\egroup$$}\fi
  803.   \vbox\bgroup\advance\hsize-2\indenti\noindent}
  804. \def\endblock{\par\egroup}
  805. \def\cite#1{\rom{[{\citefont@\m@th#1}]}}
  806. \def\citefont@{\rm}
  807. \def\rom#1{\leavevmode\skip@\lastskip\unskip\/%
  808.         \ifdim\skip@=\z@\else\hskip\skip@\fi{\rm#1}}
  809. \message{references,}
  810. \def\refsfont@{\eightpoint}
  811. \newdimen\refindentwd
  812. \setboxz@h{\refsfont@ 00.\enspace}
  813. \refindentwd\wdz@
  814. \outer\def\Refs{\add@missing\endroster \add@missing\endproclaim
  815.  \let\savedef@\Refs \let\Refs\relax % because of \outer-ness
  816.  \def\Refs##1{\restoredef@\Refs
  817.    \if\notempty{##1}\penaltyandskip@{-200}\aboveheadskip
  818.      \begingroup \raggedcenter@\headfont@
  819.        \ignorespaces##1\endgraf\endgroup
  820.      \penaltyandskip@\@M\belowheadskip
  821.    \fi
  822.    \begingroup\def\envir@end{\endRefs}\refsfont@\sfcode`\.\@m
  823.    }%
  824.  \nofrillscheck{\csname Refs\expandafter\endcsname
  825.   \frills@{{References}}}}
  826. \def\endRefs{\par % This will check for a missing \endref, also
  827.   \endgroup}
  828. \newif\ifbook@ \newif\ifprocpaper@
  829. \def\nofrills{%
  830.   \expandafter\ifx\envir@end\endref
  831.     \let\do\relax
  832.     \xdef\nofrills@list{\nofrills@list\do\curbox}%
  833.   \else\errmessage{\Invalid@@ \string\nofrills}%
  834.   \fi}%
  835. \def\defaultreftexts{\gdef\edtext{ed.}\gdef\pagestext{pp.}%
  836.   \gdef\voltext{vol.}\gdef\issuetext{no.}}
  837. \defaultreftexts
  838. \def\ref{\par
  839.   \begingroup \def\envir@end{\endref}%
  840.   \noindent\hangindent\refindentwd
  841.   \def\par{\add@missing\endref}%
  842.   \global\let\nofrills@list\empty
  843.   \refbreaks
  844.   \procpaper@false \book@false
  845.   \def\curbox{\z@}\setbox\z@\vbox\bgroup
  846. }
  847. \let\keyhook@\empty
  848. \def\endref{%
  849.   \makerefbox\z@{\endgraf\egroup}%
  850.   \endref@
  851.   \endgraf
  852.   \endgroup
  853.   \keyhook@
  854.   \global\let\keyhook@\empty % \global to conserve save stack
  855. }
  856. \def\key{\gdef\key{\makerefbox\keybox@\empty}\key} \newbox\keybox@
  857. \def\no{\gdef\no{\makerefbox\keybox@\empty}%
  858.   \gdef\keyhook@{\refstyle C}\no}
  859. \def\by{\makerefbox\bybox@\empty} \newbox\bybox@
  860. \let\manyby\by % for backward compatibility
  861. \def\bysame{\by\hbox to3em{\hrulefill}\thinspace\kern\z@}
  862. \def\paper{\makerefbox\paperbox@\it} \newbox\paperbox@
  863. \def\paperinfo{\makerefbox\paperinfobox@\empty} \newbox\paperinfobox@
  864. \def\jour{\makerefbox\jourbox@\empty} \newbox\jourbox@
  865. \def\issue{\makerefbox\issuebox@\empty} \newbox\issuebox@
  866. \def\yr{\makerefbox\yrbox@\empty} \newbox\yrbox@
  867. \def\pages{\makerefbox\pagesbox@\empty} \newbox\pagesbox@
  868. \def\page{\gdef\pagestext{p.}\makerefbox\pagesbox@\empty}
  869. \def\ed{\makerefbox\edbox@\empty} \newbox\edbox@
  870. \def\eds{\gdef\edtext{eds.}\makerefbox\edbox@\empty}
  871. \def\book{\makerefbox\bookbox@{\it\aftergroup\book@true}}
  872.   \newbox\bookbox@
  873. \def\bookinfo{\makerefbox\bookinfobox@\empty} \newbox\bookinfobox@
  874. \def\publ{\makerefbox\publbox@\empty} \newbox\publbox@
  875. \def\publaddr{\makerefbox\publaddrbox@\empty} \newbox\publaddrbox@
  876. \def\inbook{\makerefbox\bookbox@{\aftergroup\procpaper@true}}
  877. \def\procinfo{\makerefbox\procinfobox@\empty} \newbox\procinfobox@
  878. \def\finalinfo{\makerefbox\finalinfobox@\empty} \newbox\finalinfobox@
  879. \def\miscnote{\makerefbox\miscnotebox@\empty} \newbox\miscnotebox@
  880. \def\toappear{\miscnote to appear}
  881. \def\lang{\makerefbox\langbox@\empty} \newbox\langbox@
  882. \newbox\translbox@
  883. \def\vol{\makerefbox\volbox@{\ifbook@ \else
  884.   \ifprocpaper@\else\bf\fi\fi}}
  885. \newbox\volbox@
  886. \newbox\holdoverbox
  887. \def\makerefbox#1#2{\endgraf
  888.   \setbox\z@\lastbox
  889.   \global\setbox\@ne\hbox{\unhbox\holdoverbox
  890.     \ifvoid\z@\else\unhbox\z@\unskip\unskip\unpenalty\fi}%
  891.   \egroup
  892.   \setbox\curbox\box\ifdim\wd\@ne>\z@ \@ne \else\voidb@x\fi
  893.   \def\curbox{#1}\setbox#1\vbox\bgroup \hsize\maxdimen \noindent
  894.   #2}
  895. \def\refbreaks{%
  896.   \def\refconcat##1{\setbox\z@\lastbox \setbox\holdoverbox\hbox{%
  897.        \unhbox\holdoverbox \unhbox\z@\unskip\unskip\unpenalty##1}}%
  898.   \def\holdover##1{%
  899.     \RIfM@
  900.       \penalty-\@M\null
  901.       \hfil$\clubpenalty\z@\widowpenalty\z@\interlinepenalty\z@
  902.       \offinterlineskip\endgraf
  903.       \setbox\z@\lastbox\unskip \unpenalty
  904.       \refconcat{##1}%
  905.       \noindent
  906.       $\hfil\penalty-\@M
  907.     \else
  908.       \endgraf\refconcat{##1}\noindent
  909.     \fi}%
  910.   \def\break{\holdover{\penalty-\@M}}%
  911.   \let\vadjust@\vadjust
  912.   \def\vadjust##1{\holdover{\vadjust@{##1}}}%
  913.   \def\newpage{\vadjust{\vfill\break}}%
  914. }
  915. \def\refstyle#1{\uppercase{%
  916.   \if#1A\relax \def\keyformat##1{[##1]\enspace\hfil}%
  917.   \else\if#1B\relax
  918.     \def\keyformat##1{\aftergroup\kern
  919.               \aftergroup-\aftergroup\refindentwd}%
  920.     \refindentwd\parindent
  921.  \else\if#1C\relax
  922.    \def\keyformat##1{\hfil##1.\enspace}%
  923.  \fi\fi\fi}% end of \uppercase
  924. }
  925. \refstyle{A}
  926. \def\finalpunct{\ifnum\lastkern=\m@ne\unkern\else.\fi
  927.        \refquotes@\refbreak@}%
  928. \def\continuepunct#1#2#3#4{}%
  929. \def\endref@{%
  930.   \keyhook@
  931.   \def\nofrillscheck##1{%
  932.     \def\do####1{\ifx##1####1\let\frills@\eat@\fi}%
  933.     \let\frills@\identity@ \nofrills@list}%
  934.   \ifvoid\bybox@
  935.     \ifvoid\edbox@
  936.     \else\setbox\bybox@\hbox{\unhbox\edbox@\breakcheck
  937.       \nofrillscheck\edbox@\frills@{\space(\edtext)}\refbreak@}\fi
  938.   \fi
  939.   \ifvoid\keybox@\else\hbox to\refindentwd{%
  940.        \keyformat{\unhbox\keybox@}}\fi
  941.   \commaunbox@\translbox@
  942.   \ppunbox@\empty\empty\bybox@\empty
  943.   \ifbook@ % Case 1: \book etc.
  944.     \commaunbox@\bookbox@ \commaunbox@\bookinfobox@
  945.     \ppunbox@\empty{ (}\procinfobox@)%
  946.     \ppunbox@,{ vol.~}\volbox@\empty
  947.     \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  948.     \commaunbox@\yrbox@
  949.   \else
  950.     \commaunbox@\paperbox@ \commaunbox@\paperinfobox@
  951.     \ifprocpaper@ % Case 2: \paper ... \inbook
  952.       \commaunbox@\bookbox@
  953.       \ppunbox@\empty{ (}\procinfobox@)%
  954.       \ppunbox@\empty{ (}\edbox@{, \edtext)}%
  955.       \commaunbox@\bookinfobox@
  956.       \ppunbox@,{ \voltext~}\volbox@\empty
  957.       \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  958.       \commaunbox@\yrbox@
  959.       \ppunbox@,{ \pagestext~}\pagesbox@\empty
  960.     \else % Case 3: \paper ... \jour
  961.       \commaunbox@\jourbox@
  962.       \ppunbox@\empty{ }\volbox@\empty
  963.       \ppunbox@\empty{ (}\yrbox@)%
  964.       \ppunbox@,{ \issuetext~}\issuebox@\empty
  965.       \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  966.       \commaunbox@\pagesbox@
  967.     \fi
  968.   \fi
  969.   \commaunbox@\finalinfobox@
  970.   \ppunbox@\empty{ (}\miscnotebox@)%
  971.   \finalpunct\ppunbox@\empty{ (}\langbox@)%
  972.   \defaultreftexts
  973. }
  974. \def\punct@#1{#1}
  975. \def\ppunbox@#1#2#3#4{\ifvoid#3\else
  976.   \ifnum\lastkern=\m@ne\unkern\let\punct@\eat@\fi
  977.   \nofrillscheck#3%
  978.   \punct@{#1}\refquotes@\refbreak@
  979.   \let\punct@\identity@
  980.   \frills@{#2\eat@}\space
  981.   \unhbox#3\breakcheck
  982.   \frills@{#4\eat@}{\kern\m@ne sp}\fi}
  983. \def\commaunbox@#1{\ppunbox@,\space{#1}\empty}
  984. \def\breakcheck{\edef\refbreak@{\ifnum\lastpenalty=\z@\else
  985.   \penalty\the\lastpenalty\relax\fi}\unpenalty}
  986. \def\endquotes{\def\refquotes@{''\let\refquotes@\empty}}
  987. \let\refquotes@\empty
  988. \let\refbreak@\empty
  989. \def\transl{%
  990.   \makerefbox\z@{\endgraf\egroup}%
  991.   \let\savedef@\finalpunct  \let\finalpunct\empty
  992.   \endref@
  993.   \def\punct@##1##2{##2;}%
  994.   \global\let\nofrills@list\empty % global, to conserve save stack
  995.   \let\finalpunct\savedef@
  996.   \def\curbox{\translbox@}%
  997.   \setbox\translbox@\vbox\bgroup \hsize\maxdimen \noindent
  998. }
  999. \def\moreref{\transl}
  1000. \message{end of document,}
  1001. \outer\def\enddocument{\par% \par will do a runaway check for \endref
  1002.   \add@missing\endRefs
  1003.   \add@missing\endroster \add@missing\endproclaim
  1004.   \add@missing\enddefinition
  1005.   \add@missing\enddemo \add@missing\endremark \add@missing\endexample
  1006.  \ifmonograph@ % do nothing
  1007.  \else
  1008.  \nobreak
  1009.  \thetranslator@
  1010.  \count@\z@ \loop\ifnum\count@<\addresscount@\advance\count@\@ne
  1011.  \csname address\number\count@\endcsname
  1012.  \csname email\number\count@\endcsname
  1013.  \repeat
  1014. \fi
  1015.  \vfill\supereject\end}
  1016. \message{output routine,}
  1017. \def\folio{{\foliofont@\ifnum\pageno<\z@ \romannumeral-\pageno
  1018.  \else\number\pageno \fi}}
  1019. \def\foliofont@{\eightrm}
  1020. \def\headlinefont@{\eightpoint}
  1021. \def\leftheadline{\rlap{\folio}\hfill \iftrue\topmark\fi \hfill}
  1022. \def\rightheadline{\hfill \expandafter\iffalse\botmark\fi
  1023.   \hfill \llap{\folio}}
  1024. \newtoks\leftheadtoks
  1025. \newtoks\rightheadtoks
  1026. \def\leftheadtext{\let\savedef@\leftheadtext
  1027.   \def\leftheadtext##1{\let\leftheadtext\savedef@
  1028.     \leftheadtoks\expandafter{\frills@\uppercasetext@{##1}}%
  1029.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}
  1030.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  1031.         \headlinefont@##1}\fi}%
  1032.   \nofrillscheck\leftheadtext}
  1033. \def\rightheadtext{\let\savedef@\rightheadtext
  1034.   \def\rightheadtext##1{\let\rightheadtext\savedef@
  1035.     \rightheadtoks\expandafter{\frills@\uppercasetext@{##1}}%
  1036.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}%
  1037.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  1038.         \headlinefont@##1}\fi}%
  1039.   \nofrillscheck\rightheadtext}
  1040. \headline={\def\chapter#1{\chapterno@. }%
  1041.   \def\\{\unskip\space\ignorespaces}\headlinefont@
  1042.   \ifodd\pageno \rightheadline \else \leftheadline\fi}
  1043. \def\NoRunningHeads{\global\runheads@false\global\let\headmark\eat@}
  1044. \def\NoPageNumbers{\gdef\folio{}}
  1045. \def\logo@{\baselineskip2pc \hbox to\hsize{\hfil\eightpoint Typeset by
  1046.  \AmSTeX}}
  1047. \newif\iffirstpage@     \firstpage@true
  1048. \newif\ifrunheads@      \runheads@true
  1049. \output={\output@}
  1050. \def\output@{\shipout\vbox{%
  1051.  \iffirstpage@ \global\firstpage@false
  1052.   \pagebody \logo@ \makefootline%
  1053.  \else \ifrunheads@ \makeheadline \pagebody
  1054.        \else \pagebody \makefootline \fi
  1055.  \fi}%
  1056.  \advancepageno \ifnum\outputpenalty>-\@MM\else\dosupereject\fi}
  1057. \message{hyphenation exceptions (U.S. English)}
  1058. \hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies
  1059. an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses
  1060. apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship
  1061. as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt
  1062. bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest
  1063. cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base
  1064. de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics
  1065. econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary
  1066. flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic
  1067. ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly
  1068. hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy
  1069. in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke
  1070. lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al
  1071. meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis
  1072. met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole
  1073. mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able
  1074. non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic
  1075. pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non
  1076. post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly
  1077. pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic
  1078. quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar
  1079. quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle
  1080. ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness
  1081. ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite
  1082. semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious
  1083. spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics
  1084. sto-chas-tic straight-est strange-ness strat-a-gem strong-hold
  1085. sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble
  1086. tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached
  1087. un-err-ing-ly white-space wide-spread wing-spread wretch-ed
  1088. wretch-ed-ly Brown-ian Eng-lish Euler-ian Feb-ru-ary Gauss-ian
  1089. Grothen-dieck Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg
  1090. Le-gendre Lip-schitz Lip-schitz-ian Mar-kov-ian Noe-ther-ian
  1091. No-vem-ber Rie-mann-ian Schwarz-schild Sep-tem-ber}
  1092. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1093. \tenpoint
  1094. \W@{}
  1095. \csname amsppt.sty\endcsname
  1096. \endinput
  1097. %% 
  1098. %% End of file `amsppt.sty'.
  1099.